<?php
/**
 * 豆包AI配置文件
 * 火山引擎豆包AI图像向量化API配置
 */
return [
    // API基础配置
    'api_url' => 'https://ark.cn-beijing.volces.com/api/v3/embeddings/multimodal',
    
    // 对话API配置
    'chat_api_url' => 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
    
    // API密钥 - 需要从火山引擎控制台获取
    'api_key' => '46870f23-6d7f-4460-bb6d-4a20370d46ae',
    
    // 默认使用的模型版本
    'default_model' => 'doubao-1-5-pro-32k-250115',
    
    // 支持的模型列表
    'supported_models' => [
        'doubao-embedding-vision-250615', // 最新版本，支持文本、图片、视频混排
        'doubao-embedding-vision-250328', // 历史版本
        'doubao-embedding-vision-241215'  // 历史版本
    ],
    
    // 默认配置
    'defaults' => [
        'encoding_format' => 'float', // 向量编码格式：float、base64、null
        'dimensions' => 2048,         // 向量维度：1024 或 2048
        'timeout' => 30,              // 请求超时时间（秒）
        'stream_timeout' => 0,        // 流式请求超时时间（0表示无限制）
    ],
    
    // 流式输出配置
    'stream' => [
        'enabled' => true,            // 是否启用流式输出功能
        'chunk_size' => 1024,         // 数据块大小（字节）
        'buffer_size' => 4096,        // 缓冲区大小（字节）
        'max_content_length' => 10000, // 最大内容长度（字符）
        'sse_keepalive' => 30,        // SSE连接保活时间（秒）
    ],
    
    // 文件格式限制
    'file_limits' => [
        'image' => [
            'max_size' => 10 * 1024 * 1024,  // 10MB
            'allowed_types' => ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'],
        ],
        'video' => [
            'max_size' => 100 * 1024 * 1024, // 100MB
            'allowed_types' => ['mp4', 'avi', 'mov', 'wmv', 'flv', 'webm'],
        ],
        'text' => [
            'max_length' => 100000,  // 最大文本长度
        ]
    ],
    
    // 日志配置
    'log' => [
        'enabled' => true,           // 是否启用日志记录
        'log_to_database' => false,  // 是否记录到数据库
        'log_to_file' => true,       // 是否记录到文件
        'log_level' => 'info',       // 日志级别
    ],
    
    // 缓存配置
    'cache' => [
        'enabled' => false,          // 是否启用缓存（相同输入返回缓存结果）
        'type' => 'file',           // 缓存类型：file 或 redis
        'ttl' => 3600,              // 缓存过期时间（秒）
        'path' => RUNTIME_PATH . 'cache/doubao',  // 文件缓存路径
        'prefix' => 'doubao_',      // 缓存键前缀
        // Redis配置（当type为redis时使用）
        'redis' => [
            'host' => '127.0.0.1',
            'port' => 6379,
            'password' => '',
            'database' => 0
        ]
    ],
    
    // 错误重试配置
    'retry' => [
        'enabled' => true,          // 是否启用重试
        'max_attempts' => 3,        // 最大重试次数
        'delay' => 1,               // 重试延迟（秒）
    ],
];